package com.fqdf.framework.android.util;

import com.fqdf.framework.android.BuildConfig;
import com.orhanobut.logger.LogLevel;
import com.orhanobut.logger.Logger;

public class LogUtil {

    private static final String DEFAULT_TAG = "GOFUN";

    public static void initLog(boolean showLog){
        Logger.init(DEFAULT_TAG)                 // default PRETTYLOGGER or use just init()
                .methodCount(5)                 // default 2
                .logLevel(BuildConfig.DEBUG || showLog ? LogLevel.FULL : LogLevel.NONE)        // default LogLevel.FULL
//                .logLevel(LogLevel.FULL)
                .methodOffset(2);
    }


    public static void json(String json) {
        Logger.json(json);
    }

    public static void json(Class<?> clazz, String json) {
        Logger.t(clazz.getName()).json(json);
    }

    public static void xml(String xml) {
        Logger.xml(xml);
    }

    public static void xml(Class<?> clazz, String xml) {
        Logger.t(clazz.getName()).xml(xml);
    }

    public static void exception(Exception e, String msg) {
        Logger.e(e, msg);
    }

    public static void exception(Class<?> clazz, Exception e, String msg) {
        Logger.t(clazz.getName()).e(e, msg);
    }

    public static void exception(Class<?> clazz, Exception e) {
        Logger.t(clazz.getName()).e(e, Constants.BLANK);
    }

    public static void exception(Exception e) {
        Logger.e(e, Constants.BLANK);
    }

    public static void i(Class<?> clazz, String msg) {
        Logger.t(clazz.getName()).i(msg);
    }

    public static void i(String msg) {
        Logger.i(msg);
    }

    public static void i(String msg, Object... objects) {
        Logger.i(msg, objects);
    }

    public static void i(Class<?> clazz, String msg, Object... objects) {
        Logger.t(clazz.getName()).i(msg, objects);
    }

    public static void d(Object... objects) {
        Logger.d(objects);
    }

    public static void d(String msg, Object... objects) {
        Logger.d(msg, objects);
    }

    public static void d(Class<?> clazz, String msg, Object... objects) {
        Logger.t(clazz.getName()).d(msg, objects);
    }

    public static void d(Class<?> clazz, String msg) {
        Logger.t(clazz.getName()).d(msg);
    }

    public static void d(String msg) {
        Logger.d(msg);
    }

    public static void w(Class<?> clazz, String msg) {
        Logger.t(clazz.getName()).w(msg);
    }

    public static void w(String msg) {
        Logger.w(msg);
    }

    public static void w(String msg, Object... objects) {
        Logger.w(msg, objects);
    }

    public static void w(Class<?> clazz, String msg, Object... objects) {
        Logger.t(clazz.getName()).w(msg, objects);
    }

    public static void e(Class<?> clazz, String msg) {
        Logger.t(clazz.getName()).e(msg);
    }

    public static void e(String msg) {
        Logger.e(msg);
    }

    public static void e(String msg, Object... objects) {
        Logger.e(msg, objects);
    }

    public static void e(Class<?> clazz, String msg, Object... objects) {
        Logger.t(clazz.getName()).e(msg, objects);
    }

    public static void v(Class<?> clazz, String msg) {
        Logger.t(clazz.getName()).v(msg);
    }

    public static void v(String msg) {
        Logger.v(msg);
    }

    public static void v(String msg, Object... objects) {
        Logger.v(msg, objects);
    }

    public static void v(Class<?> clazz, String msg, Object... objects) {
        Logger.t(clazz.getName()).v(msg, objects);
    }


}